/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Model;

import Entity.PengabdianMasyarakat;
import Entity.SumberPendanaan;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import library.Koneksi;

/**
 *
 * @author user
 * model untuk menangani operasi database berkaitan dengan pengabdian masyarakat
 */
public class DaftarPengabdianMasyarakat {

    PengabdianMasyarakat pengabdianMasyarakat;

    //method digunakan untuk mengambil daftar pengabdian masyarakat berdasarkan pelaksana pengabdian masyarakat, judul, sumber pendanaan, dan periode pelaksanaan dan status pengabdian masyarakat
    public List<PengabdianMasyarakat> daftarPengabdianMasyarakatDosen(String byPeneliti, String byJudul, String bySbrDana, String byPeriodeMulai, String byPeriodeSelesai, String byStatus) {
        List<PengabdianMasyarakat> daftarPengabdianMasyarakat = new ArrayList<PengabdianMasyarakat>();
        String sql = "";

        if (!byPeneliti.isEmpty()) {
            sql = sql + "SELECT * FROM sumber_pendanaan, pengabdian_masyarakat, user, dosen, dosen_pengmas "
                    + "WHERE pengabdian_masyarakat.ID_SUMBER_PENDANAAN = sumber_pendanaan.ID_SUMBER_PENDANAAN AND pengabdian_masyarakat.NO_PENGABDIAN_MASYARAKAT = dosen_pengmas.NO_PENGABDIAN_MASYARAKAT AND "
                    + "dosen_pengmas.ID_USER = dosen.ID_USER AND dosen.ID_USER = user.ID_USER "
                    + "AND dosen_pengmas.ID_USER = '" + byPeneliti + "' ";
        } else {
            sql = sql + "SELECT * FROM sumber_pendanaan, pengabdian_masyarakat, user, dosen, dosen_pengmas "
                    + "WHERE pengabdian_masyarakat.ID_SUMBER_PENDANAAN = sumber_pendanaan.ID_SUMBER_PENDANAAN AND pengabdian_masyarakat.NO_PENGABDIAN_MASYARAKAT = dosen_pengmas.NO_PENGABDIAN_MASYARAKAT AND "
                    + "dosen_pengmas.ID_USER = dosen.ID_USER AND dosen.ID_USER = user.ID_USER "
                    + "AND dosen_pengmas.STATUS_DOSEN = '1' ";
        }

        if (!byJudul.isEmpty()) {
            sql = sql + "AND pengabdian_masyarakat.JUDUL_PENGABDIAN_MASYARKAT LIKE '%" + byJudul + "%' ";
        }

        if (!byStatus.isEmpty()) {
            sql = sql + "AND pengabdian_masyarakat.STATUS_PENGABDIAN_MASYARAKAT = '" + byStatus + "' ";
        }

        if (!byPeriodeMulai.isEmpty()) {
            sql = sql + "AND YEAR(pengabdian_masyarakat.TANGGAL_PENGMAS_DIMULAI) BETWEEN '" + byPeriodeMulai + "' AND '" + byPeriodeSelesai + "' ";
        }

        sql = sql + "ORDER BY pengabdian_masyarakat.TANGGAL_PENGMAS_DIMULAI DESC";
        System.out.println(sql);
        PreparedStatement st = null, st2 = null;
        ResultSet rs = null, rs2 = null;
        Connection conn = Koneksi.getKoneksi();
        try {

            st = conn.prepareStatement(sql);
            rs = st.executeQuery();

            while (rs.next()) {
                int noPengmas = rs.getInt("NO_PENGABDIAN_MASYARAKAT");

                String sql2 = "SELECT * FROM sumber_pendanaan, pengabdian_masyarakat, user, dosen, dosen_pengmas "
                        + "WHERE pengabdian_masyarakat.ID_SUMBER_PENDANAAN = sumber_pendanaan.ID_SUMBER_PENDANAAN "
                        + "AND pengabdian_masyarakat.NO_PENGABDIAN_MASYARAKAT = dosen_pengmas.NO_PENGABDIAN_MASYARAKAT AND "
                        + "dosen_pengmas.ID_USER = dosen.ID_USER and dosen.ID_USER = user.ID_USER and dosen_pengmas.STATUS_DOSEN = 1 "
                        + "and pengabdian_masyarakat.NO_PENGABDIAN_MASYARAKAT = " + noPengmas;
                if (!bySbrDana.isEmpty()) {
                    sql2 = sql2 + " AND sumber_pendanaan.ID_SUMBER_PENDANAAN = " + bySbrDana;
                }

                st2 = conn.prepareStatement(sql2);
                rs2 = st2.executeQuery();
                System.out.println("yahuu " + sql2);
                while (rs2.next()) {

                    this.pengabdianMasyarakat = new PengabdianMasyarakat();

                    pengabdianMasyarakat.setNoPengabdianMasyarakat(rs2.getInt("NO_PENGABDIAN_MASYARAKAT"));
                    pengabdianMasyarakat.setJudulPengabdianMasyarakat(rs2.getString("JUDUL_PENGABDIAN_MASYARKAT"));
                    pengabdianMasyarakat.setDanaDiterima(rs2.getString("DANA_DITERIMA"));
                    pengabdianMasyarakat.setKetuaPeneliti(rs2.getString("NAMA_USER"));
                    pengabdianMasyarakat.setIdKetuaPeneliti(rs2.getString("ID_USER"));
                    pengabdianMasyarakat.setTanggalPengabdianMasyarakatDimulai(rs2.getString("TANGGAL_PENGMAS_DIMULAI"));
                    pengabdianMasyarakat.setTanggalPengabdianMasyarakatSelesai(rs2.getString("TANGGAL_PENGMAS_SELESAI"));
                    pengabdianMasyarakat.setLampiranLaporan(rs2.getString("LAPORAN_KEGIATAN_PENGMAS"));
                    pengabdianMasyarakat.setUkuranLampiranLaporan(rs2.getString("UKURAN_LAPORAN_KEGIATAN_PENGMAS"));
                    pengabdianMasyarakat.setStatusPengabdianMasyarakat(rs2.getString("STATUS_PENGABDIAN_MASYARAKAT"));

                    SumberPendanaan sumberPendanaan = new SumberPendanaan();
                    sumberPendanaan.setIdSumberPendanaan(rs2.getInt("ID_SUMBER_PENDANAAN"));
                    sumberPendanaan.setSumberPendanaan(rs2.getString("SUMBER_PENDANAAN"));
                    pengabdianMasyarakat.setSumberDana(sumberPendanaan);

                    daftarPengabdianMasyarakat.add(pengabdianMasyarakat);
                }
            }
        } catch (SQLException ex) {
            Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                st.close();
                if (st2 != null) {
                    st2.close();
                }
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {
                rs.close();
                if (rs2 != null) {
                    rs2.close();
                }
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return daftarPengabdianMasyarakat;
    }

    //method digunakan untuk menambah data pengabdian masyarakat
    public boolean tambahDataPengabdianMasyarakat(PengabdianMasyarakat pengabdianMasyarakat) {
        boolean hasil = false;
        this.pengabdianMasyarakat = pengabdianMasyarakat;
        String sql = "insert into pengabdian_masyarakat (ID_SUMBER_PENDANAAN, JUDUL_PENGABDIAN_MASYARKAT, TANGGAL_PENGMAS_DIMULAI, "
                + "TANGGAL_PENGMAS_SELESAI, DANA_DITERIMA, LAPORAN_KEGIATAN_PENGMAS, UKURAN_LAPORAN_KEGIATAN_PENGMAS, "
                + "TANGGAL_UPLOAD_LAPORAN, TIPE_FILE_LAPORAN_KEGIATAN_PENGMAS, STATUS_PENGABDIAN_MASYARAKAT, PENGUPLOAD, UNIQUEKEY) "
                + "value (" + this.pengabdianMasyarakat.getSumberDana().getIdSumberPendanaan()
                + ",'" + this.pengabdianMasyarakat.getJudulPengabdianMasyarakat()
                + "','" + this.pengabdianMasyarakat.getTanggalPengabdianMasyarakatDimulai()
                + "','" + this.pengabdianMasyarakat.getTanggalPengabdianMasyarakatSelesai()
                + "','" + this.pengabdianMasyarakat.getDanaDiterima()
                + "','" + this.pengabdianMasyarakat.getLampiranLaporan()
                + "','" + this.pengabdianMasyarakat.getUkuranLampiranLaporan()
                + "','" + this.pengabdianMasyarakat.getTanggalLampiranLaporan()
                + "','" + this.pengabdianMasyarakat.getTipeLampiranLaporan()
                + "','" + this.pengabdianMasyarakat.getStatusPengabdianMasyarakat()
                + "','" + this.pengabdianMasyarakat.getPengupload().getIdUser()
                + "','" + this.pengabdianMasyarakat.getUniqueKey()
                + "')";
        System.out.println(sql);
        Connection conn = Koneksi.getKoneksi();
        PreparedStatement st = null;
        try {

            st = conn.prepareStatement(sql);
            int rs = st.executeUpdate(sql);
            if (rs > 0) {
                hasil = true;
            } else {
                return false;
            }
        } catch (SQLException ex) {
            Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        } finally {
            try {
                st.close();
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }

        }
        return hasil;
    }

    //method digunakan untuk mengambil detail data pengabdian masyarakat
    public PengabdianMasyarakat detailPengabdianMasyarakat(PengabdianMasyarakat PengabdianMasyarakat) {

        String sql = "SELECT * FROM sumber_pendanaan, pengabdian_masyarakat, user, dosen, dosen_pengmas "
                + "WHERE pengabdian_masyarakat.ID_SUMBER_PENDANAAN = sumber_pendanaan.ID_SUMBER_PENDANAAN AND pengabdian_masyarakat.NO_PENGABDIAN_MASYARAKAT = dosen_pengmas.NO_PENGABDIAN_MASYARAKAT AND "
                + "dosen_pengmas.ID_USER = dosen.ID_USER and dosen.ID_USER = user.ID_USER "
                + "AND dosen_pengmas.STATUS_DOSEN = '1' and pengabdian_masyarakat.NO_PENGABDIAN_MASYARAKAT=" + PengabdianMasyarakat.getNoPengabdianMasyarakat();
        PreparedStatement st = null;
        Connection conn;
        ResultSet rs = null;
        try {

            conn = Koneksi.getKoneksi();

            st = conn.prepareStatement(sql);
            rs = st.executeQuery();

            while (rs.next()) {
                this.pengabdianMasyarakat = new PengabdianMasyarakat();

                SumberPendanaan sumberPendanaan = new SumberPendanaan();
                sumberPendanaan.setIdSumberPendanaan(rs.getInt("ID_SUMBER_PENDANAAN"));
                sumberPendanaan.setSumberPendanaan(rs.getString("SUMBER_PENDANAAN"));

                this.pengabdianMasyarakat.setNoPengabdianMasyarakat(rs.getInt("NO_PENGABDIAN_MASYARAKAT"));
                this.pengabdianMasyarakat.setJudulPengabdianMasyarakat(rs.getString("JUDUL_PENGABDIAN_MASYARKAT"));
                this.pengabdianMasyarakat.setKetuaPeneliti(rs.getString("NAMA_USER") + ", NIP : " + rs.getString("ID_USER") + "");
                this.pengabdianMasyarakat.setIdKetuaPeneliti(rs.getString("ID_USER"));
                this.pengabdianMasyarakat.setSumberDana(sumberPendanaan);
                this.pengabdianMasyarakat.setDanaDiterima(rs.getString("DANA_DITERIMA"));
                this.pengabdianMasyarakat.setTanggalPengabdianMasyarakatDimulai(rs.getString("TANGGAL_PENGMAS_DIMULAI"));
                this.pengabdianMasyarakat.setTanggalPengabdianMasyarakatSelesai(rs.getString("TANGGAL_PENGMAS_SELESAI"));

                this.pengabdianMasyarakat.setLampiranLaporan(rs.getString("LAPORAN_KEGIATAN_PENGMAS"));
                this.pengabdianMasyarakat.setTanggalLampiranLaporan(rs.getString("TANGGAL_UPLOAD_LAPORAN"));
                this.pengabdianMasyarakat.setUkuranLampiranLaporan(rs.getString("UKURAN_LAPORAN_KEGIATAN_PENGMAS"));
                this.pengabdianMasyarakat.setTipeLampiranLaporan(rs.getString("TIPE_FILE_LAPORAN_KEGIATAN_PENGMAS"));
                                
                this.pengabdianMasyarakat.setStatusPengabdianMasyarakat(rs.getString("STATUS_PENGABDIAN_MASYARAKAT"));
                this.pengabdianMasyarakat.setIsiRevisi(rs.getString("ISI_REVISI_PENGMAS"));

            }
        } catch (SQLException ex) {
            Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                st.close();
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {
                rs.close();
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return this.pengabdianMasyarakat;

    }

    //method digunakan untuk mengubah data pengabdian masyarakat
    public boolean ubahDataPengabdianMasyarakat(PengabdianMasyarakat pengabdianMasyarakat) {

        boolean hasil = false;
        this.pengabdianMasyarakat = pengabdianMasyarakat;

        String sql = "update pengabdian_masyarakat SET "
                + "ID_SUMBER_PENDANAAN = " + this.pengabdianMasyarakat.getSumberDana().getIdSumberPendanaan()
                + ", JUDUL_PENGABDIAN_MASYARKAT = '" + this.pengabdianMasyarakat.getJudulPengabdianMasyarakat()
                + "', TANGGAL_PENGMAS_DIMULAI = '" + this.pengabdianMasyarakat.getTanggalPengabdianMasyarakatDimulai()
                + "', TANGGAL_PENGMAS_SELESAI = '" + this.pengabdianMasyarakat.getTanggalPengabdianMasyarakatSelesai()
                + "', DANA_DITERIMA = '" + this.pengabdianMasyarakat.getDanaDiterima()
                + "', LAPORAN_KEGIATAN_PENGMAS = '" + this.pengabdianMasyarakat.getLampiranLaporan()
                + "', UKURAN_LAPORAN_KEGIATAN_PENGMAS = '" + this.pengabdianMasyarakat.getUkuranLampiranLaporan()
                + "', TANGGAL_UPLOAD_LAPORAN = '" + this.pengabdianMasyarakat.getTanggalLampiranLaporan()
                + "', TIPE_FILE_LAPORAN_KEGIATAN_PENGMAS = '" + this.pengabdianMasyarakat.getTipeLampiranLaporan()
                + "', STATUS_PENGABDIAN_MASYARAKAT = '" + this.pengabdianMasyarakat.getStatusPengabdianMasyarakat()
                + "', PENGUPLOAD = '" + this.pengabdianMasyarakat.getPengupload().getIdUser()
                + "' where NO_PENGABDIAN_MASYARAKAT = " + this.pengabdianMasyarakat.getNoPengabdianMasyarakat();
        System.out.println(sql);
        PreparedStatement st = null;
        Connection conn;
        try {
            conn = Koneksi.getKoneksi();
            st = conn.prepareStatement(sql);
            int rs = st.executeUpdate(sql);
            if (rs > 0) {
                hasil = true;
            } else {
                hasil = false;
            }
        } catch (SQLException ex) {
            Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                st.close();
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        return hasil;

    }

    //method digunakan untuk menghapus data pengabdian masyarakat
    public boolean hapusDataPengabdianMasyarakat(PengabdianMasyarakat pengabdianMasyarakat) {

        boolean hasil = true;

        PreparedStatement st = null;

        String sql = "DELETE FROM pengabdian_masyarakat WHERE NO_PENGABDIAN_MASYARAKAT = " + pengabdianMasyarakat.getNoPengabdianMasyarakat();

        Connection conn = Koneksi.getKoneksi();
        try {
            st = conn.prepareStatement(sql);
            int rs = st.executeUpdate(sql);
            if (rs > 0) {
                hasil = true;
            } else {
                hasil = false;
            }
        } catch (SQLException ex) {
            Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                st.close();
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        return hasil;

    }

    //method digunakan untuk mencetak rekapitulasi data pengabdian masyarakat
    public ArrayList cetakRekapPengmas(String byPeneliti, String byJudul, String bySbrDana, String byPeriodeMulai, String byPeriodeSelesai) {

        String sql = "";

        if (!byPeneliti.isEmpty()) {
            sql = "SELECT SUMBER_PENDANAAN, YEAR(TANGGAL_PENGMAS_DIMULAI) AS TAHUN, COUNT(pengabdian_masyarakat.NO_PENGABDIAN_MASYARAKAT) AS JUMLAH "
                    + "FROM sumber_pendanaan, pengabdian_masyarakat, dosen_pengmas "
                    + "WHERE pengabdian_masyarakat.ID_SUMBER_PENDANAAN = sumber_pendanaan.ID_SUMBER_PENDANAAN "
                    + "AND pengabdian_masyarakat.NO_PENGABDIAN_MASYARAKAT = dosen_pengmas.NO_PENGABDIAN_MASYARAKAT "
                    + "AND dosen_pengmas.ID_USER = '" + byPeneliti + "' AND STATUS_PENGABDIAN_MASYARAKAT = '1' ";
        } else {
            sql = "SELECT SUMBER_PENDANAAN, YEAR(TANGGAL_PENGMAS_DIMULAI) AS TAHUN, COUNT(NO_PENGABDIAN_MASYARAKAT) AS JUMLAH "
                    + "FROM sumber_pendanaan, pengabdian_masyarakat "
                    + "WHERE pengabdian_masyarakat.ID_SUMBER_PENDANAAN = sumber_pendanaan.ID_SUMBER_PENDANAAN "
                    + "AND STATUS_PENGABDIAN_MASYARAKAT = '1' ";
        }

        if (!bySbrDana.isEmpty()) {
            sql = sql + "AND sumber_pendanaan.ID_SUMBER_PENDANAAN = " + bySbrDana + " ";
        }

        if (!byJudul.isEmpty()) {
            sql = sql + "AND pengabdian_masyarakat.JUDUL_PENGABDIAN_MASYARKAT LIKE '%" + byJudul + "%' ";
        }

        if (!byPeriodeMulai.isEmpty() && !byPeriodeSelesai.isEmpty()) {
            sql = sql + "AND YEAR(TANGGAL_PENGMAS_DIMULAI) BETWEEN '" + byPeriodeMulai + "' AND '" + byPeriodeSelesai + "' ";
        }
        
        sql = sql + " GROUP BY sumber_pendanaan.sumber_pendanaan";

        ArrayList list = new ArrayList();
        PreparedStatement st = null;
        ResultSet rs = null;
        try {

            Connection conn = Koneksi.getKoneksi();

            st = conn.prepareStatement(sql);
            rs = st.executeQuery();
            int i = 1;
            while (rs.next()) {
                Map map = new HashMap();
                map.put("no", i);
                map.put("sumberDana", rs.getString("SUMBER_PENDANAAN"));
                map.put("tahun", rs.getString("TAHUN"));
                map.put("jumlah", rs.getString("JUMLAH"));

                list.add(map);
                i++;
            }
        } catch (SQLException ex) {
            Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                st.close();
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {
                rs.close();
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return list;
    }

    //method digunakan untuk mencetak data mahasiswa yang terlibat sebagai pelaksana pengabdian masyarakat
    public ArrayList rekapMahasiswaPengmas(String tahunMulai, String tahunSelesai) {

        String sql = "SELECT pengabdian_masyarakat.NO_PENGABDIAN_MASYARAKAT, JUDUL_PENGABDIAN_MASYARKAT, NRP_MAHASISWA, NAMA_MAHASISWA, KETERLIBATAN_MAHASISWA, TANGGAL_PENGMAS_DIMULAI, TANGGAL_PENGMAS_SELESAI FROM "
                + "mahasiswa_pengmas, sumber_pendanaan, pengabdian_masyarakat "
                + "WHERE pengabdian_masyarakat.NO_PENGABDIAN_MASYARAKAT = mahasiswa_pengmas.NO_PENGABDIAN_MASYARAKAT "
                + "AND pengabdian_masyarakat.ID_SUMBER_PENDANAAN = sumber_pendanaan.ID_SUMBER_PENDANAAN "
                + "AND STATUS_PENGABDIAN_MASYARAKAT = '1' ";

        if (!tahunMulai.isEmpty()) {
            sql = sql + "AND YEAR(TANGGAL_PENGMAS_DIMULAI) BETWEEN '" + tahunMulai + "' AND '" + tahunSelesai + "'";
        }
        System.out.println(sql);
        ArrayList list = new ArrayList();
        PreparedStatement st = null;
        ResultSet rs = null;
        try {

            Connection conn = Koneksi.getKoneksi();

            st = conn.prepareStatement(sql);
            rs = st.executeQuery();
            int i = 1;
            while (rs.next()) {
                Map map = new HashMap();
                map.put("no", i);
                map.put("noPengmas", rs.getString("NO_PENGABDIAN_MASYARAKAT"));
                map.put("judulPpm", rs.getString("JUDUL_PENGABDIAN_MASYARKAT"));
                map.put("tanggalMulai", rs.getString("TANGGAL_PENGMAS_DIMULAI"));
                map.put("tanggalSelesai", rs.getString("TANGGAL_PENGMAS_SELESAI"));
                map.put("namaUser", rs.getString("NAMA_MAHASISWA"));
                map.put("nrpUser", rs.getString("NRP_MAHASISWA"));
                map.put("peran", rs.getString("KETERLIBATAN_MAHASISWA"));

                list.add(map);
                i++;
            }
        } catch (SQLException ex) {
            Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                st.close();
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {
                rs.close();
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return list;

    }
    
    //method digunakan untuk memvalidasi data pengabdian masyarakat oleh koordinator ppm
    public boolean validasiDataPengabdianMasyarakat(PengabdianMasyarakat pengabdianMasyarakat) {

        boolean hasil = false;
        this.pengabdianMasyarakat = pengabdianMasyarakat;

        String sql = "update pengabdian_masyarakat SET "                
                + " STATUS_PENGABDIAN_MASYARAKAT = '" + this.pengabdianMasyarakat.getStatusPengabdianMasyarakat()
                + "', ISI_REVISI_PENGMAS = '" + this.pengabdianMasyarakat.getIsiRevisi()
                + "' where NO_PENGABDIAN_MASYARAKAT = " + this.pengabdianMasyarakat.getNoPengabdianMasyarakat();
        System.out.println(sql);
        PreparedStatement st = null;
        Connection conn;
        try {
            conn = Koneksi.getKoneksi();
            st = conn.prepareStatement(sql);
            int rs = st.executeUpdate(sql);
            if (rs > 0) {
                hasil = true;
            } else {
                hasil = false;
            }
        } catch (SQLException ex) {
            Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                st.close();
            } catch (SQLException ex) {
                Logger.getLogger(DaftarPengabdianMasyarakat.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        return hasil;

    }
}
